package xcmg.device.dao.mapper.announcement;


import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import xcmg.device.dao.entity.announcement.BasicAnnouncementDO;
import xcmg.device.service.vo.announcement.BasicAnnouncementVO;

import java.util.List;

/**
 * 通告Mappper
 * @Author huhuawei
 */
@Mapper
public interface BasicAnnouncementMapper {

    /**
     * 根据ID删除通告信息
     * @param id
     * @return
     */
    int deleteByPrimaryKey(String id);

    /**
     * 新增通告信息
     * @param record
     * @return
     */
    int insert(BasicAnnouncementVO record);

    /**
     * 根据ID查询单条通知公告信息
     * @param id
     * @return
     */
    BasicAnnouncementDO selectByPrimaryKey(String id);

    /**
     * 更新通知公告信息
     * @param record
     * @return
     */
    int update(BasicAnnouncementVO record);

    /**
     * 根据前端传入的相应条件
     * 获取公告信息列表
     * @param condition
     * @return
     */
    List<BasicAnnouncementDO> list(BasicAnnouncementVO condition);

    /**
     * 获取所有活动
     *
     * @param orgId
     * @return
     */
    List<BasicAnnouncementDO> listActivity(@Param("orgId") String orgId);

    /**
     * 根据前端传入的相应条件
     * 代理商获取公告信息列表
     * @param condition
     * @return
     */
    List<BasicAnnouncementDO> listByDealer(BasicAnnouncementVO condition);

    /**
     * 删除该条通知公告信息
     * 更改is_del  的状态
     * @param ids
     * @return
     */
    int updateDel(@Param("ids") List<String> ids);

    /**
     * 根据orgId查询出当前新增的px值
     * 已删除的也算在基数之内
     * @param orgId
     * @return
     */
    int countPxByOrgId(@Param("orgId") String orgId);


    /**
     * 小程序端分页列表
     * @param condition
     * @return
     */
    List<BasicAnnouncementDO> miniPage(BasicAnnouncementVO condition);
}